const { DataTypes } = require("sequelize");
// 导入数据库链接实例对象
const seq = require("../db/seq");
const OrderModel = require("./orders.model");
// 解构字段类型
const { STRING, NUMBER } = DataTypes;
// 创建模型
const OrdersDetail = seq.define(
  "OrdersDetail",
  {
    // 在这里定义模型属性
    id: {
      type: NUMBER,
      // 允许为空 默认为true
      allowNull: false,
      // 主键标识
      primaryKey: true,
      // 自动递增
      autoIncrement: true,
    },
    order_id: {
      type: NUMBER,
      allowNull: false,
      // 唯一约束
    },
    product_id: {
      type: STRING,
      allowNull: false,
    },
    quantity: {
      type: NUMBER,
      allowNull: true,
    },
    product_price: {
      type: String,
      allowNull: true,
    },
    product_name: {
      type: String,
      allowNull: true,
    },
    product_img: {
      type: String,
      allowNull: true,
    },
  },
  {
    // 这是其他模型参数
    tableName: "orders_detail",
    timestamps: false,
  }
);
// 强制同步数据库
// User.sync({ force: true });

// 建立一对多关联
OrderModel.hasMany(OrdersDetail, {
  foreignKey: "order_id",
  sourceKey: "order_id",
});

module.exports = OrdersDetail;
